package Day004.demo003_DateFormat类;

/*
    DateFormat类:
                概述: java.text 包,是日期/时间格式化子类的抽象类
                        public abstract class DateFormat extends Format
                        1.是一个日期格式抽象类,不能创建对象,只能创建子类对象
                        2.通过这个类可以完成日期和文本之间的转化,Date <---> String 之间进行转换
                        3.DateFormat类的子类 SimpleDateFormat

                SimpleDateFormat类: 日期格式类
                    构造方法: SimpleDateFormat(String pattern) 可以创建一个日期格式化对象,通过参数指定格式规则
                    常见日期格式规则:
                                例如: yyyy-MM-dd  HH:mm:ss  2020-04-19  11:25:45
                                     yyyy年MM月dd日  HH:mm:ss  2020年04月19日  11:25:45

                DateFormat类常用方法:
                    public String format (Date date) :将Date对象格式化为String字符串. --格式化
                    public Date parse (String source) :将String字符串解析为Date对象. --解析

 */

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) throws ParseException {

        //创建日期格式对象,通过参数指定日期格式
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd  HH:mm:ss");
        //1. public String format (Date date):将Date对象格式化为String字符串. --格式化
        //将Date类型对象 --> String类型对象
        Date date1 = new Date();
        System.out.println(date1); // Sun Apr 19 11:31:42 CST 2020
        String s1 = sdf1.format(date1);
        System.out.println(s1);  // 2020-04-19  11:31:42

        //2. public Date parse (String source) :将String字符串解析为Date对象. --解析
        //输入出生日期,转化成 Date对象
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入出生日期,格式为:yyyy-MM-dd  HH:mm:ss");
        String s2 = sc.next();

        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-ddHH:mm:ss");
        Date date2 = sdf2.parse(s2); //报错 Alt+回车  系统自动修正
        System.out.println("出生日期:" + date2);

    }
}
